

p1= 97656077071270197914785321263555295398683131376741279762023269752748032446917564784973530125497364995807144029368514414686812526434051342203148587548869714362392149049199571504107521002327725946079985444111124295505554135534791115828253787424842366876671199369039838469527700802048214832651973914615014793434
q1= 39346433326508892813150536257919182675225716975877498778468626666265319210911093864684217868389854790505495572529483241732413112619372606685748980784688553398278315703981192828280813023954306657912647634729098972136705540024619937335024692325575092594446158807029214788285050359047781519982931005193436553164
d= 13982206046522221689006948762375515892286671914597370002120896052266280914021885507889789598565474633660266121772385535949954654478591294089438758529565129571215458972099907852294228150256147359389834287744392536374255187239416806275744570662248893522074706262730636918053134499811014564470545819778015584753659205965073426501902382941707278051440033966771995946005135307665514929445057737703258338176975384665564222178081103000139437728386604903444661523794053627011660691133434801451813006697587015285256584456452850523012639216643290392821724776006584995172392016576699118057963479401425915020921720042294733838337
e= 65537
c= 13235028416286929520160810669079534965765212020283157183506000327481359053022089166886460096491962822206497841520395685863417454564782563002357235184688540460362871929729166716636143577909568477095287025119038866855396071566223268818065261766734924398179202129826294778702597618099032226876112654250403885134458713788086798004345808257538019652522209856828455756694071035571007463724635674562294436700546760823969026149755043139120494280665479551005965472492371422616161244117935709924215027494208339801474837499105640735072011664365891939864038690374913413240430803230704628673411107455299647523018041707726365601893
phi=16033591784555690839033601641933863819862675274128076669740291933394723758788009352788583792713912217703542497595829207543956085361202366334328595985304274508481724780489075813896396106581346750635700757907059309496772854950127016253035273087412614339939285140337656629662098889174735118835844089284571097739371559723771996652001268037000802800553357819154820449211550823391567258031927998247803081416301018071582489307196620368843405837158330864310134068534625079672858460155583646814590373389203531298114865193213718937686858488611970228064763729093357377320357215677266414126622909951204685623007887150263682313184

import sympy
import gmpy2
import libnum

p = sympy.symbols('p')
q = sympy.symbols('q')
for k in range(e,1,-1):
    if (e*d-1)%k==0:
        phi=(e*d-1)//k
        try:
            f1 = (p - 1) * (q - 1) - phi
            f2 = q1 * q + p1 * p - p * q - 1
            c1 = sympy.solve([f1, f2], [p, q])
            p = int(c1[1][0])
            print(p)
            q = int(c1[1][1])
            print(q)
            break
        except:
            continue


n=p*q
m=pow(c,d,n)
print(libnum.n2s(m))